<?php
//  +----------------------------------------------------------------------
//  | Copyright (c) 2015-2025 http://www.hdphp.cn All rights reserved.
//  | Licensed ( http://www.hdphp.cn/licenses/ )
//  | Author: Jack <sophia2152@qq.com>
//  | 官方网址: http://www.hdphp.cn
//  | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//  | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//  +----------------------------------------------------------------------
namespace app\controller\short;

use app\Request;
use app\services\short\ShortServices;

/**
 * 短连接跳转控制器
 * 此链接只是前端访问跳转,增加其他方法无效
 */
class Index
{
    /**
     * @var ShortServices|null
     */
    protected $services = NUll;

    /**
     * 构造方法
     * @param ShortServices $services
     */
    public function __construct(ShortServices $services)
    {
        $this->services = $services;
    }

    /**
     * Notes：index
     * User：Jack
     * DateTime：2022/10/31 15:08
     * @param Request $request
     * @return \think\response\Redirect
     */
    public function index(Request $request)
    {
        [$name] = $request->getMore(['name'], true);
        if (!$name) {
            return app('json')->fail('参数错误');
        }
        $url = $this->services->getCheckName($name);
        if (!filter_var($url, FILTER_VALIDATE_URL) === FALSE) {
            return redirect($url);
        }

        return app('json')->fail('url格式不正确');
    }
}